﻿//-----------------------------------------------------------------------------------------------------------
// Wbfs Engine (WBFSe) Project by Omega Frost 
// http://wbfse.codeplex.com/
//
// WBFSe is Licensed under the terms of the 
// Microsoft Reciprocal License (Ms-RL)
//-----------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.IO;
using WBFSe.Attributes;
using WBFSe.FormatApi;
using WBFSe.IO;
using WBFSe.IO.Streams;

namespace WBFSe.Formats
{
    /// <summary>
    /// Wbfs file creator
    /// </summary>
    class FWbfsCreator : WbfsCreator
    {
        /// <summary>
        /// Initializes the creator with the game and container data
        /// </summary>
        /// <param name="directory">The destination directory</param>
        /// <param name="filename">The destination filename (no extension)</param>
        /// <param name="gameInfo">Built information about the disc</param>
        /// <param name="split">Container split information</param>
        /// <exception cref="System.Exception">On operation failure</exception>
        /// <remarks>Do not fail if the sector size is not right
        /// it will be verified and corrected automatically</remarks>
        public override void Initialize(String directory, String filename,
            IDiscExtendedInfo gameInfo, SplitInfo split)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Sets a new usage table according to desired sector size
        /// </summary>
        /// <param name="usageTable">New sector usage table</param>
        /// <exception cref="System.Exception">On operation failure</exception>
        public override void ResetUsageTable(UsageTable usageTable)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Generates a stream for writting on the container
        /// </summary>
        /// <returns>Stream</returns>
        /// <exception cref="System.Exception">On operation failure</exception>
        public override IWbfsStream CreateStream()
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Finishes the container
        /// </summary>
        /// <param name="successful">The operation was successful</param>
        /// <exception cref="System.Exception">On operation failure</exception>
        public override void End(bool successful)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Disposes the container
        /// </summary>
        public override void Dispose()
        {
            throw new NotImplementedException();
        }
    }
}
